home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Anwendungen / CManager / Developer / Include / MUI / CManager_mcc.h
Encoding:
C/C++ Source or Header  |  2004-01-31  |  9.4 KB  |  388 lines

  1. #ifndef MUI_CMANAGER_MCC_H
  2. #define MUI_CMANAGER_MCC_H
  3.  
  4. #ifndef LIBRARIES_MUI_H
  5. #include <libraries/mui.h>
  6. #endif
  7.  
  8. /*
  9. **  $VER: CManager_mcc.h 25.3 (18.1.2004)
  10. **  Includes Release 25.3
  11. **
  12. **  CManager_mcc.h
  13. **  Global bookmarks manager MUI class
  14. **
  15. **  Written by Simone Tellini and Alfonso Ranieri <alforan@tin.it>.
  16. **
  17. **  Released under the terms of the
  18. **  GNU Public Licence version 2
  19. */
  20.  
  21. /***********************************************************************/
  22. /*
  23. ** Tags
  24. **
  25. ** These are Simone Tellini's tags:
  26. ** please, don't use them in other projects.
  27. */
  28.  
  29. #define TAGBASE  ((int)0xF76B0010)
  30. #define CMTAG(n) (TAGBASE+(int)(n))
  31.  
  32. #define MUIC_CManager  "CManager.mcc"
  33. #define CManagerObject MUI_NewObject(MUIC_CManager
  34.  
  35. /***********************************************************************/
  36. /*
  37. ** CManager preferences
  38. */
  39.  
  40. /* Columns */
  41. #define COLS_User   4
  42. #define COLS_WWW    5
  43. #define COLS_FTP    5
  44. #define COLS_Chat   3
  45. #define COLS_Telnet 2
  46.  
  47. /* List sorting */
  48. struct SortOrder
  49. {
  50.     ULONG SortCol0;
  51.     ULONG SortCol1;
  52.     BYTE  Order[8];
  53.     int   Width[8];
  54. };
  55.  
  56. /* Entry list preferences */
  57. struct ListPrefs
  58. {
  59.     ULONG            TreeW;
  60.     ULONG            ListW;
  61.     struct SortOrder Sorts[8];
  62.     ULONG            Flags;
  63.     ULONG            dummy[8];
  64. };
  65.  
  66. /* ButtonsBar preferences */
  67. struct ButtonsBarPrefs
  68. {
  69.     ULONG ViewMode;
  70.     ULONG LabelPosition;
  71.     ULONG BarPosition;
  72.     ULONG Flags;
  73.     ULONG dummy[8];
  74. };
  75.  
  76. /* Flags */
  77. enum
  78. {
  79.     SBFLG_Borderless = 1<<0,
  80.     SBFLG_Raised     = 1<<1,
  81.     SBFLG_Scaled     = 1<<2,
  82.     SBFLG_Sunny      = 1<<3,
  83.     SBFLG_Underscore = 1<<4,
  84.     SBFLG_BarSpacer  = 1<<5,
  85.     SBFLG_Hide       = 1<<6,
  86. };
  87.  
  88. /* BarPosition */
  89. enum
  90. {
  91.     SBPos_Horiz       = 1<<0,
  92.     SBPos_TopMode     = 1<<1,
  93.     SBPos_LeftMode    = 1<<2,
  94.     SBPos_InnerMode   = 1<<3,
  95.  
  96.     SBPos_Top         = (1<<4)|SBPos_Horiz|SBPos_TopMode,
  97.     SBPos_Bottom      = (1<<5)|SBPos_Horiz|SBPos_TopMode,
  98.     SBPos_Left        = (1<<6)|SBPos_LeftMode,
  99.     SBPos_Right       = (1<<7)|SBPos_LeftMode,
  100.     SBPos_InnerTop    = (1<<8)|SBPos_Horiz|SBPos_InnerMode,
  101.     SBPos_InnerBottom = (1<<9)|SBPos_Horiz|SBPos_InnerMode,
  102. };
  103.  
  104. /* Visual quick preferences */
  105. struct VisualPrefs
  106. {
  107.     struct ListPrefs       ListPrefs;
  108.     struct ButtonsBarPrefs ButtonsBarPrefs;
  109. };
  110.  
  111. /* Hotlists */
  112. enum
  113. {
  114.     HL_IB,
  115.     HL_V,
  116.     HL_AWEB,
  117.     HL_AMFTP,
  118.     HL_MD2,
  119.     HL_STFAX,
  120.     HL_YAM,
  121.     HL_AMIRC,
  122.     HL_DOPUS,
  123.     HL_DFA,
  124.     HL_PINT,
  125.     HL_GOODNEWS,
  126.     HL_STRICQ,
  127.  
  128.     NUM_HOTLISTS
  129. };
  130.  
  131. struct CMPrefs
  132. {
  133.     struct VisualPrefs              VisualPrefs;
  134.  
  135.     /* Settings */
  136.     char                            Country[80];
  137.     char                            CountryCode[9];
  138.     ULONG                           Action;
  139.     ULONG                           Options;
  140.  
  141.     /* Programs */
  142.     UBYTE                           MailProg;
  143.     char                            MailScript[256];
  144.     char                            MailPath[256];
  145.  
  146.     UBYTE                           WWWProg;
  147.     char                            WWWScript[256];
  148.     char                            WWWPath[256];
  149.  
  150.     UBYTE                           FTPProg;
  151.     char                            FTPScript[256];
  152.     char                            FTPPath[256];
  153.     char                            Local[256];
  154.     ULONG                           FTPOptions;
  155.  
  156.     UBYTE                           IRCProg;
  157.     char                            IRCScript[256];
  158.     char                            IRCPath[256];
  159.  
  160.     UBYTE                           FaxProg;
  161.     char                            FaxScript[256];
  162.     char                            FaxPath[256];
  163.  
  164.     UBYTE                           TelnetProg;
  165.     char                            TelnetScript[256];
  166.     char                            TelnetPath[256];
  167.  
  168.     char                            SavedProg[256];
  169.  
  170.     /* Hotlists */
  171.     char                            Hotlists[NUM_HOTLISTS][256];
  172.     struct DateStamp                Stamps[NUM_HOTLISTS];
  173.  
  174.     /* Dialer */
  175.     ULONG                           DialOptions;
  176.     char                            DialProg[256];
  177.     char                            SerDevice[256];
  178.     UBYTE                           SerUnit;
  179.     ULONG                           ModemType;
  180.     char                            SerInit[256];
  181.     char                            DialCommand[30];
  182.     ULONG                           RedialDelay;
  183.     ULONG                           RedialAttempts;
  184. };
  185.  
  186. /* Action */
  187. enum
  188. {
  189.     ACTION_EDIT,
  190.     ACTION_SCRIPT,
  191.     ACTION_SCRIPT_CLOSE,
  192.     ACTION_SCRIPT_ICONIFY
  193. };
  194.  
  195. /* Options */
  196. enum
  197. {
  198.     OPT_SilentScan       = 1<<0,
  199.     OPT_UseOpenURL       = 1<<1,
  200.     OPT_AutoReload       = 1<<2,
  201.     OPT_NtCheckChanges   = 1<<3,
  202.     OPT_SaveOnExit       = 1<<4,
  203.     OPT_SilentExit       = 1<<5,
  204.     OPT_SaveOnChanges    = 1<<6,
  205.     OPT_EditNew          = 1<<7,
  206.     OPT_BoldSections     = 1<<8,
  207.     OPT_BoldTitles       = 1<<9,
  208.     OPT_NoListBar        = 1<<10,
  209.     OPT_RightMouseActive = 1<<11,
  210.     OPT_UseSavedProg     = 1<<12,
  211. };
  212.  
  213. /* FTPOptions */
  214. enum
  215. {
  216.     FTPOPT_UseLocal = 1<<0,
  217. };
  218.  
  219. /* DialOptions */
  220. enum
  221. {
  222.     DIALOPT_ExternalDialer = 1<<0,
  223.     DIALOPT_SerShared      = 1<<1,
  224.     DIALOPT_LogCalls       = 1<<2,
  225. };
  226.  
  227. /***********************************************************************/
  228. /*
  229. ** MCC
  230. */
  231.  
  232. #define MUIM_CManager_LoadData          CMTAG(1)
  233. #define MUIM_CManager_SaveData          CMTAG(6)
  234. #define MUIM_CManager_EditSelected      CMTAG(16)
  235. #define MUIM_CManager_AddEntry          CMTAG(19)
  236. #define MUIM_CManager_Import            CMTAG(20)
  237. #define MUIM_CManager_Login             CMTAG(21)
  238. #define MUIM_CManager_Export            CMTAG(22)
  239. #define MUIM_CManager_Search            CMTAG(23)
  240. #define MUIM_CManager_Cleanup           CMTAG(24)
  241. #define MUIM_CManager_DoubleClick       CMTAG(28)
  242. #define MUIM_CManager_PrefsWindow       CMTAG(30)
  243. #define MUIM_CManager_LoginWindow       CMTAG(31)
  244. #define MUIM_CManager_Reload            CMTAG(34)
  245.  
  246. /* Attributes */
  247. #define MUIA_CManager_ListObject        CMTAG(0)  /* [..G.], Object *         */
  248. #define MUIA_CManager_Changed           CMTAG(2)  /* [.SGN], BOOL             */
  249. #define MUIA_CManager_Path              CMTAG(3)  /* [..G.], STRPTR           */
  250. #define MUIA_CManager_NoMenu            CMTAG(4)  /* [ISGN], BOOL             */
  251. #define MUIA_CManager_HideUsers         CMTAG(5)  /* [I...], BOOL             */
  252. #define MUIA_CManager_HideWWW           CMTAG(6)  /* [I...], BOOL             */
  253. #define MUIA_CManager_HideFTP           CMTAG(7)  /* [I...], BOOL             */
  254. #define MUIA_CManager_HideChat          CMTAG(8)  /* [I...], BOOL             */
  255. #define MUIA_CManager_CMData            CMTAG(9)  /* [..G.], struct CMData *  */
  256. #define MUIA_CManager_AppDoubleClick    CMTAG(10) /* [IS..], struct Hook *    */
  257. #define MUIA_CManager_HideTelnet        CMTAG(11) /* [I...], BOOL             */
  258. #define MUIA_CManager_Prefs             CMTAG(17) /* [ISG.], struct CMPrefs * */
  259. #define MUIA_CManager_AtHome            CMTAG(18) /* [I...], BOOL             */
  260. #define MUIA_CManager_DoubleClickObject CMTAG(19) /* [IS..], Object *         */
  261. #define MUIA_CManager_NoBar             CMTAG(20) /* [ISGN], BOOL             */
  262. #define MUIA_CManager_NoGroups          CMTAG(21) /* [ISGN], BOOL             */
  263. #define MUIA_CManager_ButtonsBar        CMTAG(25) /* [..G.], Object *         */
  264.  
  265. /* Structures */
  266.  
  267. struct MUIP_CManager_LoadData
  268. {
  269.     ULONG  MethodID;
  270.     STRPTR User;
  271.     STRPTR Path;
  272. };
  273.  
  274. struct MUIP_CManager_SaveData
  275. {
  276.     ULONG  MethodID;
  277.     STRPTR Path;
  278. };
  279.  
  280. struct MUIP_CManager_AddEntry
  281. {
  282.     ULONG          MethodID;
  283.     struct CMEntry *Entry;
  284.     ULONG          Flags;
  285. };
  286.  
  287. struct MUIP_CManager_Import
  288. {
  289.     ULONG  MethodID;
  290.     ULONG  Type;
  291.     STRPTR File;
  292.     ULONG  Flags;
  293. };
  294. /* Import types */
  295. enum
  296. {
  297.     MUIV_CManager_Import_Voyager,
  298.     MUIV_CManager_Import_IB,
  299.     MUIV_CManager_Import_AWeb,
  300.     MUIV_CManager_Import_Users_CSV,
  301.     MUIV_CManager_Import_AmFTP,
  302.     MUIV_CManager_Import_THOR,
  303.     MUIV_CManager_Import_MD,
  304.     MUIV_CManager_Import_YAM,
  305.     MUIV_CManager_Import_PINT,
  306.     MUIV_CManager_Import_GoodNews,
  307.     MUIV_CManager_Import_STRICQ,
  308.     MUIV_CManager_Import_OldSTFax,
  309.     MUIV_CManager_Import_STFax,
  310.     MUIV_CManager_Import_AmIRC,
  311.     MUIV_CManager_Import_DOpusFTP,
  312.     MUIV_CManager_Import_DFA,
  313.     MUIV_CManager_Import_Netscape,
  314.     MUIV_CManager_Import_Users_CSVFullOE,
  315. };
  316.  
  317. /* flags */
  318. enum
  319. {
  320.     MUIV_CManager_Import_Filter = 1<<0, /* avoid duplicate entries */
  321. };
  322.  
  323. struct MUIP_CManager_Export
  324. {
  325.     ULONG  MethodID;
  326.     ULONG  Type;
  327.     STRPTR File;
  328.     ULONG  Flags;
  329. };
  330.  
  331. /* Export types */
  332. enum
  333. {
  334.     MUIV_CManager_Export_HTML_URLs,
  335.     MUIV_CManager_Export_HTML_WWW,
  336.     MUIV_CManager_Export_HTML_FTP,
  337.     MUIV_CManager_Export_CSV_Users,
  338.  
  339.     MUIV_CManager_Export_YAM,
  340.     MUIV_CManager_Export_AWeb,
  341.     MUIV_CManager_Export_IBrowse,
  342.  
  343.     MUIV_CManager_Export_Netscape,
  344.     MUIV_CManager_Export_CSVFullOE_Users,
  345. };
  346.  
  347. /* Flags */
  348. enum
  349. {
  350.     MUIV_CManager_Export_NoHead = 1<<0,
  351. };
  352.  
  353.  
  354. struct MUIP_CManager_Login
  355. {
  356.     ULONG  MethodID;
  357.     STRPTR user;
  358. };
  359.  
  360. struct MUIP_CManager_DoubleClick
  361. {
  362.     ULONG          MethodID;
  363.     struct CMEntry *entry;
  364. };
  365.  
  366. struct MUIP_CManager_PrefsWindow
  367. {
  368.     ULONG MethodID;
  369.     ULONG page;
  370. };
  371.  
  372. /* page */
  373. enum
  374. {
  375.     MUIV_PrefsWindow_ActivePage_Options,
  376.     MUIV_PrefsWindow_ActivePage_Locale,
  377.     MUIV_PrefsWindow_ActivePage_ButtonsBar,
  378.     MUIV_PrefsWindow_ActivePage_Programs,
  379.     MUIV_PrefsWindow_ActivePage_DialerInternal,
  380.     MUIV_PrefsWindow_ActivePage_DialerExternal,
  381.     MUIV_PrefsWindow_ActivePage_Hotlists,
  382. };
  383.  
  384.  
  385. /***********************************************************************/
  386.  
  387. #endif /* MUI_CMANAGER_MCC_H */
  388.